A Proof-Producing Software Compiler for a Subset of Higher Order Logic
نویسندگان
چکیده
We discuss a proof-producing compiler which translates first order recursion equations, defined in higher order logic, to assembly language. The front end of the compiler is based on a series of source-tosource translations, starting with a semantic CPS translation and culminating in graph-colouring register allocation. Equality of the original program and the result of register allocation is proved automatically. A translation validation assertion is then generated, relating values of the original function to the result of running the compiled code on a subset of the ARM machine. Approaches to the automatic proof of this formula are also discussed.
منابع مشابه
Structure of a Proof-Producing Compiler for a Subset of Higher Order Logic
We give an overview of a proof-producing compiler which translates recursion equations, defined in higher order logic, to assembly language. The compiler is implemented and validated with a mix of translation validation and compiler verification techniques. Both the design of the compiler and its mechanical verification are implemented in the same logic framework.
متن کاملDeductive Translation Validation for a Subset of Higher Order Logic
We discuss a proof-producing compiler for a subset of higher order logic. The translation validation is automatic, and is based on Hoare rules derived from a compositional semantics for sequences of instructions for an ARM-like machine. Partial and total correctness are dealt with. The main focus is on issues in the intermediate level and back-end of the compiler.
متن کاملA Proof-Producing Hardware Compiler for a Subset of Higher Order Logic
Higher order logic (HOL) is a modelling language suitable for specifying behaviour at many levels of abstraction. We describe a compiler from a ‘synthesisable subset’ of HOL function definitions to correctby-construction clocked synchronous hardware. The compiler works by theorem proving in the HOL4 system and goes through several phases, each deductively refining the specification to a more co...
متن کاملTranslating HOL functions to hardware
Delivering error-free products is still a major challenge for hardware and software engineers. Due to the increasingly growing complexity of computing systems, there is a demand for higher levels of automation in formal verification. This dissertation proposes an approach to generate formally verified circuits automatically. The main outcome of our project is a compiler implemented on top of th...
متن کاملUnder consideration for publication in Formal Aspects of Computing Proof producing synthesis of arithmetic and cryptographic hardware
A compiler from a synthesisable subset of higher order logic to clocked synchronous hardware is described. It is being used to create coprocessors for cryptographic and arithmetic applications. The compiler automatically translates a function f defined in higher order logic (typically using recursion) into a device that computes f via a four-phase handshake circuit. Compilation is by fully auto...
متن کامل